/**
Group: efl/grid (@since 1.23)
	 Part Rectangle: efl.draggable.horizontal_bar (required)
	 Part Rectangle: efl.draggable.vertical_bar (required)
	 Part Swallow: efl.background (required)
	 Part Swallow: efl.content (required)
	 Part Swallow: efl.overlay (required)
	 Signal: efl,action,scroll
	 Signal: efl,horizontal_bar,visible,off
	 Signal: efl,horizontal_bar,visible,on
	 Signal: efl,vertical_bar,visible,off
	 Signal: efl,vertical_bar,visible,on
Group: efl/grid_item (@since 1.23)
	 Part Text: efl.text
	 Part Swallow: efl.extra
	 Part Swallow: efl.icon
	 Signal: efl,state,disabled
	 Signal: efl,state,enabled
	 Signal: efl,state,selected
	 Signal: efl,state,unselected
Group: efl/view_grid (@since 1.23)
	 Part Rectangle: efl.draggable.horizontal_bar (required)
	 Part Rectangle: efl.draggable.vertical_bar (required)
	 Part Swallow: efl.background (required)
	 Part Swallow: efl.content (required)
	 Part Swallow: efl.overlay (required)
	 Signal: efl,action,scroll
	 Signal: efl,horizontal_bar,visible,off
	 Signal: efl,horizontal_bar,visible,on
	 Signal: efl,vertical_bar,visible,off
	 Signal: efl,vertical_bar,visible,on

*/
group { "efl/grid";
   inherit: "efl/scroller";
   data.item: "version" "123";
}

group { "efl/view_grid";
   inherit: "efl/grid";
   data.item: "version" "123";
}

group { "efl/grid_item";
   data.item: "version" "124";
   data.item: "selectraise" "on";
   data.item: "focusraise" "on";
   data.item: "texts" "elm.text";
   parts {
//---------------------------------------------------------------------------
#define BASEP() \
   part { name: "base"; type: RECT; mouse_events: 0; \
      description { state: "default" 0.0; \
         color_class: "/bg/normal/grid/item"; \
      } \
   } \
   part { name: "sel_base"; type: RECT; mouse_events: 0; \
      description { state: "default" 0.0; \
         color_class: "/bg/selected/grid/item"; \
         visible: 0; \
      } \
      description { state: "selected" 0.0; \
         inherit: "default" 0.0; \
         visible: 1; \
      } \
   } \
   program { signal: "efl,state,selected"; source: "efl"; \
      action: STATE_SET "selected" 0.0; \
      target: "sel_base"; \
   } \
   program { signal: "efl,state,unselected"; source: "efl"; \
      action: STATE_SET "default" 0.0; \
      target: "sel_base"; \
   } \
   program { signal: "efl,state,disabled"; source: "efl"; \
       action: STATE_SET "disabled" 0.0; \
       target: "event"; \
   } \
   program { signal: "efl,state,enabled"; source: "efl"; \
      action: STATE_SET "default" 0.0; \
      target: "event"; \
   }
#define TOPP() \
   part { name: "event"; type: RECT; \
      repeat_events: 1; \
      description { state: "default" 0.0; \
         color: 0 0 0 0; /* no cc */ \
      } \
      description { state: "disabled" 0.0; \
         inherit: "default" 0.0; \
          visible: 0; \
      } \
   } \
   part { name: "event_block"; type: RECT; \
      description { state: "default" 0.0; \
         color: 0 0 0 0; /* no cc */ \
         visible: 0; \
      } \
      description { state: "disabled" 0.0; \
         inherit: "default" 0.0; \
         visible: 1; \
      } \
   } \
   program { signal: "efl,state,disabled"; source: "efl"; \
      action: STATE_SET "disabled" 0.0; \
      target: "event_block"; \
   } \
   program { signal: "efl,state,enabled"; source: "efl"; \
       action: STATE_SET "default" 0.0; \
       target: "event_block"; \
   }
//---------------------------------------------------------------------------
      BASEP()

      //##//
      part { name: "efl.text"; type: TEXT; mouse_events: 0;
         scale: 1;
         description { state: "default" 0.0;
            fixed: 0 1;
            rel1.relative: 0.0 1.0;
            rel1.offset: 4 -5;
            rel2.offset: -5 -5;
            color_class: "/fg/normal/grid/item";
            align: 0.5 1.0;
            offscale;
            text { font: FN; size: 10;
               min: 0 1;
               align: 0.5 1.0;
               text_class: "grid_item";
            }
         }
         description { state: "selected" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/selected/grid/item";
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/disabled/grid/item";
         }
      }
      program { signal: "efl,state,selected"; source: "efl";
         action: STATE_SET "selected" 0.0;
         target: "efl.text";
      }
      program { signal: "efl,state,unselected"; source: "efl";
         action: STATE_SET "default" 0.0;
         target: "efl.text";
      }
      program { signal: "efl,state,disabled"; source: "efl";
         action: STATE_SET "disabled" 0.0;
         target: "efl.text";
         target: "icon_area";
      }
      program { signal: "efl,state,enabled"; source: "efl";
         action: STATE_SET "default" 0.0;
         target: "efl.text";
         target: "icon_area";
      }
      //##//
      part { name: "icon_area"; type: RECT;
         scale: 1;
         description { state: "default" 0.0;
            rel1.offset: 4 4;
            rel2.to_y: "efl.text";
            rel2.relative: 1.0 0.0;
            rel2.offset: -5 -5;
            color: 255 255 255 255; // no cc
            offscale;
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color: 255 255 255 64; // no cc
         }
      }
      part { name: "efl.icon"; type: SWALLOW;
         clip_to: "icon_area";
         description { state: "default" 0.0;
            rel.to: "icon_area";
         }
      }
      part { name: "efl.extra"; type: SWALLOW;
         scale: 1;
         clip_to: "icon_area";
         description { state: "default" 0.0;
            min: ICMIN ICMIN;
            align: 1.0 0.0;
            rel.to: "icon_area";
            rel1.relative: 1.0 0.0;
            rel1.offset: -5 4;
            rel2.relative: 1.0 0.0;
            rel2.offset: -5 4;
            offscale;
         }
      }
      //##//

      TOPP()
   }
   programs {
      EFL_UI_CLICKABLE_PART_BIND("event")
   }
}
#undef BASEP
#undef TOPP
